<?php

/**
 * \file
 * Classe `color`.
 */

namespace pilar\Entities /* \cond */ ; /* \endcond */
{

/**
 * Membre couleur.
 *
 * \since 17/11/2008
 * \author Matthieu OVIEDO <matthieu.oviedo@gmail.com>
 */
class Color extends String {

protected function loadDefaultParams() {
 parent::loadDefaultParams();

 $this->params->set(array(
  'name' => 'color',
  'caption' => 'couleur',
  'maxLength' => 6,        // Sous forme hexadécimal #XXXXXX.
  'defaultValue' => '000000',
  'formClass' => '\\pilar\\AdvancedFormMembers\\WheelColorPicker'
 ));
}


public function getFieldValueFromFormMember($fm, $f = '') {
 $v = $fm->value();
 if($v[0] == '#') return substr($v, 1);
 else return $v;
}

public function getFormFieldValueFromObjectMember($om, $f = '') {
 return '#'.$om->get();
}


/**
 * Vérifie que la valeur assignée au membre soit bien une couleur
 * hexadécimale.
 *
 * \since 17/11/2008
 * \return \c TRUE si \a $value est un code couleur valide, \c FALSE sinon.
 */
public function acceptsFieldValue($fieldName, $value) {
 return preg_match("/^[0-9a-fA-F]{6}$/", $value);
}

} // Class.

} // Namespace.

?>
